package model

import (
	"regexp"
)

// RemoveStrNone 方法用于移除 Login 结构体中所有字符串字段的空格。
// 该方法会遍历 Login 结构体中的 Domain 和 Login 字段，并将这些字段中的字符串值中的所有空格替换为空字符串。
// 该方法没有参数和返回值。
func (l *Login) RemoveStrNone() {
	// 移除 Domain 结构体中各个字段的空格
	l.Domain.Domain.Domain = RemoveStrNone(l.Domain.Domain.Domain)
	l.Domain.Domain.Sub6 = RemoveStrNone(l.Domain.Domain.Sub6)
	l.Domain.Domain.Sub = RemoveStrNone(l.Domain.Domain.Sub)
	l.Domain.Domain.Sub4 = RemoveStrNone(l.Domain.Domain.Sub4)

	// 移除 Login 结构体中各个字段的空格
	l.Domain.Login.Key = RemoveStrNone(l.Domain.Login.Key)
	l.Domain.Login.Id = RemoveStrNone(l.Domain.Login.Id)
}

// RemoveStrNone 函数用于移除字符串中的所有空白字符（包括空格、制表符、换行符等）。
// 该函数通过正则表达式匹配所有空白字符，并将其替换为空字符串。
//
// 参数:
//   - txt: 输入的字符串，可能包含空白字符。
//
// 返回值:
//   - string: 移除所有空白字符后的字符串。
func RemoveStrNone(txt string) string {
	// 使用正则表达式匹配所有空白字符
	re := regexp.MustCompile(`\s+`)
	// 将匹配到的所有空白字符替换为空字符串
	return re.ReplaceAllString(txt, "")
}
